import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Solution1610 {
    public int visiblePoints(List<List<Integer>> points, int angle, List<Integer> location) {
        int flag=0;
        int x=location.get(0);
        int y=location.get(1);
        List<Double> an=new ArrayList<>();
        for (List<Integer> point : points) {
            int p=point.get(0);
            int q=point.get(1);
            int xx=p-x;
            int yy=q-y;
            if (xx!=0 && yy!=0){
                double d=Math.toDegrees(Math.asin(yy/Math.sqrt(xx*xx+yy*yy)));
                if (xx>0 && yy>0){
                    an.add(d);
                }else if (xx>0 && yy<0){
                    an.add(360+d);
                }else {
                    an.add(180-d);
                }
            }else if (xx==0){
                if (yy>0){
                    an.add(90.0);
                }else if (yy<0){
                    an.add(270.0);
                }else{
                    flag++;
                }
            }else if (yy==0){
                if (xx>0){
                    an.add(0.0);
                }else {
                    an.add(180.0);
                }
            }
        }
        Collections.sort(an);
        int m=an.size();
        int max=0;int j=0;
        for (int i=0;i<m;i++){
            while (i!=(j+1)%m && compareAngle(an.get(i),an.get((j+1)%m))<angle+0.00001){
                j=(j+1)%m;
            }
            max=Math.max(max,j>=i?j-i+1:m-i+j+1);
            if (i==j){
                j=(j+1)%m;
            }
        }
        return flag+max;
    }

    double compareAngle(double a,double b){
        return b>=a?b-a:360+b-a;
    }

    public static void main(String[] args) {
        List<List<Integer>> lists=new ArrayList<>();
        List<Integer> p1=new ArrayList<>();
        p1.add(2);p1.add(1);
        List<Integer> p2=new ArrayList<>();
        p2.add(1);p2.add(2);
        List<Integer> p3=new ArrayList<>();
        p3.add(0);p3.add(1);
        List<Integer> p4=new ArrayList<>();
        p4.add(1);p4.add(0);
        lists.add(p1);
        lists.add(p2);
        lists.add(p3);
        lists.add(p4);
        List<Integer> po=new ArrayList<>();
        po.add(1);po.add(1);
        System.out.println(new Solution1610().visiblePoints(lists,90,po));
    }
}
